#ifndef _IGAME_REF_H_
#define _IGAME_REF_H_

struct IGame;
struct IGameRef
{
	IGameRef():m_ptr(NULL){};
	IGameRef(IGame** ptr):m_ptr(ptr){};
	~IGameRef(){};

	IGame* operator->() {return m_ptr ? *m_ptr : NULL;};
	operator IGame*() {return m_ptr ? *m_ptr : NULL;};
	IGameRef& operator=(IGame** ptr){m_ptr = ptr; return *this;};

private:
	IGame** m_ptr;
};

#endif//_IGAME_REF_H_